// Copyright 2011 Jefferson Willian
// willmont7@gmail.com

#include <cstdio>

#define MAX 100

/* Quick-Find Algorithm                  */
/* O(1) para verificar conectividiade    */
/* O(n) para conectar dois pontos        */

class quickFind {
  private:
    int id[MAX];
    int N;

  public:
    explicit quickFind(int n);
    bool allConnected();
    bool connected(int v1, int v2);
    bool make(int v1, int v2);
};

quickFind::quickFind(int n) {
  N = n;

  for (int i = 0;i < N;i++)
    id[i] = i;
}

/* Verifica se dois pontos de um grafo estao conectados indiretamente */
bool quickFind::connected(int v1, int v2) {
  return id[v1] == id[v2];
}

/* Verifica se todos os pontos estao conectados entre si */
bool quickFind::allConnected() {
  int t = id[0];
  for (int i = 1;i < N;i++)
    if (t != id[i])
      return false;

  return true;
}

/* Conecta dois pontos do grafo indiretamente */
bool quickFind::make(int v1, int v2) {
  int t = id[v1];

  if (t == id[v2])
    return false;

  /* Para todas conexoes com 'v1' faz agora conexao com 'v2' */
  for (int i = 0;i < N;i++)
    if (id[i] == t)
      id[i] = id[v2];

  return true;
}

int main() {
  int n, m;
  int temp1, temp2;
  int games = 1;

  while (scanf("%d%d", &n, &m) && n != 0 || m != 0) {
    quickFind qfind(n);   // Quick-Find algorithm

    /* Conecta os pontos */
    for (int i = 0;i < m;i++) {
      scanf("%d%d", &temp1, &temp2);
      temp1--; temp2--;
      qfind.make(temp1, temp2);
    }

    printf("Teste %d\n", games++);

    /* Verifica se todos os pontos estao conectados */
    if (qfind.allConnected())
      printf("normal");
    else
      printf("falha");

    printf("\n\n");
  }

  return 0;
}
